/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
var public_numeros = ".0123456789*#";
var public_fecha = "/0123456789";
var public_caracteres = " abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
var public_anykeboars = " 0123456789abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
var public_esp_keys = [8,36,37,39,46,13];
var patron_email = "/^(.+\@.+\..+)$/";
var public_er_email = public_caracteres+public_anykeboars+patron_email;
var tipoglobal="pdf";
var tipoProceso="01";
var areaglobal="01";
var paramMonth={dateFormat:'mm/yy',monthNames : ['ENE', 'FEB', 'MAR', 'ABR', 'MAY', 'JUN', 'JUL', 'AGO', 'SEP', 'OCT', 'NOV', 'DIC'],showOn: 'both',buttonImage: 'images/calendar.PNG',buttonImageOnly: true};

var paramDate={
    dateFormat:'dd/mm/yy',
    justMonth: true,    
    changeYear: true,   
    showOn: 'both',
    buttonImage: 'images/calendar.PNG',
    buttonImageOnly: true,
     onSelect: function(textoFecha){
     $("#vfefinal").val(textoFecha);
   }
}
//CLASES EN JAVASCRIPT
var KeyboardClass = function(pEv, pOkeys)
{
    this.objEvent = (window.event)?window.event:pEv;
    this.currentObj = this.objEvent.target || this.objEvent.srcElement;
    this.k=this.objEvent.charCode||this.objEvent.keyCode||this.objEvent.which;
    this.caracter = String.fromCharCode(this.k);
    this.teclaEspecial = false;
    this.enter=false;
    this.ayuda=false;
    for(var i in public_esp_keys) {
        if(this.k == public_esp_keys[i]) {
            this.teclaEspecial = true;
            break;
        }
    }
    if(this.k==13 || this.k==9 || this.k==0) {
        this.enter = true
    }
    if(this.k==113){
        this.ayuda=true
    }
    this.isValidKey=pOkeys.indexOf(this.caracter)!=-1 || this.teclaEspecial;
}

function fu_filtrarTeclado(pEvent, pvalidKeys, goToSucess, pdivcontent, fncallback, pstrShowDetalle){
    var tk = new KeyboardClass(pEvent, pvalidKeys);
    if(tk.enter){
        var odivContent=document.getElementById(pdivcontent);
        if(fncallback){
            fncallback(tk.currentObj, goToSucess, odivContent, pstrShowDetalle);
        }
        else{
            saltar(tk.currentObj, goToSucess, odivContent);
        }
    }
    return tk.isValidKey;
}

function saltar(objetoactual, ir_a, en){
    $("#"+ir_a,en).focus();
    $("#"+ir_a,en).select();
    if(objetoactual){
        $(objetoactual).removeClass('activado_confoco');
    }
}

function loadLocation(){
    
    $.datepicker.regional['es'] = {
        closeText: 'Cerrar',
        prevText: 'Ant',
        nextText: 'Sig',
        currentText: 'Hoy',
        monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
        monthNamesShort: ['Ene','Feb','Mar','Abr', 'May','Jun','Jul','Ago','Sep', 'Oct','Nov','Dic'],
        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
        dayNamesShort: ['Dom','Lun','Mar','Mie','Juv','Vie','Sab'],
        dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sa'],
        weekHeader: 'Sm',
        dateFormat: 'dd/mm/yy',
        firstDay: 1,
        isRTL: false,
        showMonthAfterYear: false,
        yearSuffix: ''
    };
    $.datepicker.setDefaults($.datepicker.regional['es']);
    $( "input:submit, a, button", ".demo" ).button();
		$( "a", ".demo" ).click(function() {return false;});
}

function fu_getTextUpperCase(cadena){

    if(cadena==null){
        return "";
    }else if (cadena=="null"){
        return "";
    }else if (cadena==""){
        return "";
    }else if (cadena=="-1"){
        return "";
    }

    cadena = cadena.replace(/^(\s|\&nbsp;)*|(\s|\&nbsp;)*$/g,"");
    return cadena.toUpperCase();

}

function fu_limpiardatos(idform){

    $('select,input[type=radio], input[type=text], textarea', $("#"+idform)).each(
        function(){
            var id = $(this).attr('id');
            if(id=="varea" || id=="vtipoexamen" || id=="solmatservhoscodsol"){
                $("#"+id).val("00");
            }else{
                $("#"+id).val("");
            }
            $("#lbl"+id).text("");
        });
}

function fu_validarCampos(idMain){
    
    var flag=true;
    $("#message").text("");
    $('select,input[type=radio], input[type=text], textarea', $("#"+idMain)).each(
        function(){  
            var id = $(this).attr('id');

            //Para saber si existe un objeto con tag ID hacer un if con:
            //$("#lbldePartidaElectronica").html() != null funciona con cualquiera incluido jquery
            //o tambien (para jquery especificamnte) $("#lbldePartidaElectronica").length > 0 por que jquery devuelve siempre
            //un array de elementos
            if( $("#message").html() != null ){
                //Si existe el label asociado entonces se considera que ese campo es Validable
                if( ($("#"+id).is(':visible') && $("#"+id).parents (':hidden').length == 0) ){ //si es visible y su parent tambien
                   
                    var val = $(this).val();
                      if(val=="999"){
                        $("#message").text("seleccionar la opción valida..");
                        flag=false;
                        $("#"+id).focus();
                        return flag;
                    }else if(val==""){
                        $("#message").text("este campo es requerido..");
                        $("#"+id).focus();
                        flag=false;
                        return flag;
                    }else if(id=="tipoproceso" || id=="tipo"){
                        if(!$("input[name="+id+"]").is(':checked')){
                            $("#message").text("debe escoger la opcion requerida.."); 
                            flag=false;
                            return flag;
                        }
                    } 
                }
            }
        });

    return flag;
}


function fu_menuprincipal(ruta){
    $("#vnombrecompleto").text("");
    window.location.href = ruta;   
}